[INFO] cloning repository https://github.com/krobelus/neofish
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/krobelus/neofish" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrobelus%2Fneofish", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrobelus%2Fneofish'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fe20434386bc915487b9bcdbed86f8bcac41e6f1
[INFO] fixing krobelus/neofish against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrobelus%2Fneofish" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/krobelus/neofish
[INFO] finished tweaking git repo https://github.com/krobelus/neofish
[INFO] tweaked toml for git repo https://github.com/krobelus/neofish written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/krobelus/neofish on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/krobelus/neofish already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/fish-shell/rust-pcre2`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serial_test v3.2.0
[INFO] [stderr]   Downloaded serial_test_derive v3.2.0
[INFO] [stderr]   Downloaded sdd v3.0.5
[INFO] [stderr]   Downloaded rsconf v0.2.2
[INFO] [stderr]   Downloaded scc v2.3.0
[INFO] [stderr]   Downloaded cc v1.2.7
[INFO] [stderr]   Downloaded portable-atomic v1.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888
[INFO] running `Command { std: "docker" "start" "71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling rsconf v0.2.2
[INFO] [stderr]    Compiling cpufeatures v0.2.16
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking siphasher v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking widestring v1.1.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking sdd v3.0.5
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking scc v2.3.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling terminfo v0.9.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling syn v2.0.95
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking rust-embed-utils v8.5.0
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]     Checking errno v0.3.10
[INFO] [stderr]     Checking fish-printf v0.2.1 (/opt/rustwide/workdir/printf)
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling pcre2-sys v0.2.9 (https://github.com/fish-shell/rust-pcre2?tag=0.2.9-utf32#85b7afba)
[INFO] [stderr]    Compiling fish v4.1.0-alpha0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking pcre2 v0.2.9 (https://github.com/fish-shell/rust-pcre2?tag=0.2.9-utf32#85b7afba)
[INFO] [stderr] warning: fish@4.1.0-alpha0: Cannot find sphinx-build to build man pages.
[INFO] [stderr] warning: fish@4.1.0-alpha0: If you install it now you need to run `cargo clean` and rebuild, or set $FISH_BUILD_DOCS=1 explicitly.
[INFO] [stderr]    Compiling rust-embed-impl v8.5.0
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking rust-embed v8.5.0
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stdout] warning: unused import: `sprintf`
[INFO] [stdout]   --> src/builtins/jobs.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     wutil::{fish_wcstoi, sprintf, wgettext_fmt},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::sprintf`
[INFO] [stdout]   --> src/complete.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     wutil::sprintf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sprintf`
[INFO] [stdout]   --> src/function.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::wutil::{dir_iter::DirIter, sprintf};
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sprintf`
[INFO] [stdout]   --> src/proc.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::wutil::{perror, sprintf, wbasename, wgettext, wperror};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/wutil/printf.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::wutil::sprintf`
[INFO] [stdout]    --> src/autoload.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     use crate::wutil::sprintf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sprintf`
[INFO] [stdout]   --> src/builtins/jobs.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     wutil::{fish_wcstoi, sprintf, wgettext_fmt},
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::sprintf`
[INFO] [stdout]   --> src/complete.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     wutil::sprintf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sprintf`
[INFO] [stdout]   --> src/function.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::wutil::{dir_iter::DirIter, sprintf};
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sprintf`
[INFO] [stdout]   --> src/proc.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::wutil::{perror, sprintf, wbasename, wgettext, wperror};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ast.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn iter(&self) -> std::slice::Iter<Box<Self::ContentsNode>> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn iter(&self) -> std::slice::Iter<'_, Box<Self::ContentsNode>> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1136:1
[INFO] [stdout]      |
[INFO] [stdout] 1136 | implement_acceptor_for_branch!(Redirection, (oper: TokenRedirection), (target: String_));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1136 | let _ = implement_acceptor_for_branch!(Redirection, (oper: TokenRedirection), (target: String_));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1153:1
[INFO] [stdout]      |
[INFO] [stdout] 1153 | / define_list_node!(
[INFO] [stdout] 1154 | |     VariableAssignmentList,
[INFO] [stdout] 1155 | |     variable_assignment_list,
[INFO] [stdout] 1156 | |     VariableAssignment
[INFO] [stdout] 1157 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1153 | let _ = define_list_node!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1176:1
[INFO] [stdout]      |
[INFO] [stdout] 1176 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1177 | |     ArgumentOrRedirection,
[INFO] [stdout] 1178 | |     (contents: (variant<ArgumentOrRedirectionVariant>))
[INFO] [stdout] 1179 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1176 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1197:1
[INFO] [stdout]      |
[INFO] [stdout] 1197 | / define_list_node!(
[INFO] [stdout] 1198 | |     ArgumentOrRedirectionList,
[INFO] [stdout] 1199 | |     argument_or_redirection_list,
[INFO] [stdout] 1200 | |     ArgumentOrRedirection
[INFO] [stdout] 1201 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1197 | let _ = define_list_node!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1219:1
[INFO] [stdout]      |
[INFO] [stdout] 1219 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1220 | |     CommandToken,
[INFO] [stdout] 1221 | |     (contents: (variant<CommandTokenVariant>))
[INFO] [stdout] 1222 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1219 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1254:1
[INFO] [stdout]      |
[INFO] [stdout] 1254 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1255 | |     VariableStatement,
[INFO] [stdout] 1256 | |     (variables: (VariableAssignmentList)),
[INFO] [stdout] 1257 | |     (statement: (Option<Statement>)),
[INFO] [stdout] 1258 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1254 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1277:1
[INFO] [stdout]      |
[INFO] [stdout] 1277 | implement_acceptor_for_branch!(Statement, (contents: (variant<StatementVariant>)));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1277 | let _ = implement_acceptor_for_branch!(Statement, (contents: (variant<StatementVariant>)));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1313:1
[INFO] [stdout]      |
[INFO] [stdout] 1313 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1314 | |     JobPipeline,
[INFO] [stdout] 1315 | |     (time: (Option<KeywordTime>)),
[INFO] [stdout] 1316 | |     (statement2: (VariableStatement)),
[INFO] [stdout] 1317 | |     (continuation: (JobContinuationList)),
[INFO] [stdout] 1318 | |     (bg: (Option<TokenBackground>)),
[INFO] [stdout] 1319 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1313 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1352:1
[INFO] [stdout]      |
[INFO] [stdout] 1352 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1353 | |     JobConjunction,
[INFO] [stdout] 1354 | |     (decorator: (Option<JobConjunctionDecorator>)),
[INFO] [stdout] 1355 | |     (job: (JobPipeline)),
[INFO] [stdout] 1356 | |     (continuations: (JobConjunctionContinuationList)),
[INFO] [stdout] 1357 | |     (semi_nl: (Option<SemiNl>)),
[INFO] [stdout] 1358 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1352 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1403:1
[INFO] [stdout]      |
[INFO] [stdout] 1403 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1404 | |     ForHeader,
[INFO] [stdout] 1405 | |     (kw_for: (KeywordFor)),
[INFO] [stdout] 1406 | |     (var_name: (String_)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1410 | |     (kw_do: (Option<KeywordDo>)),
[INFO] [stdout] 1411 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1403 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1434:1
[INFO] [stdout]      |
[INFO] [stdout] 1434 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1435 | |     WhileHeader,
[INFO] [stdout] 1436 | |     (kw_while: (KeywordWhile)),
[INFO] [stdout] 1437 | |     (condition: (JobConjunction)),
[INFO] [stdout] 1438 | |     (andor_tail: (AndorJobList)),
[INFO] [stdout] 1439 | |     (kw_do: (Option<KeywordDo>)),
[INFO] [stdout] 1440 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1434 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1462:1
[INFO] [stdout]      |
[INFO] [stdout] 1462 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1463 | |     FunctionHeader,
[INFO] [stdout] 1464 | |     (kw_function: (KeywordFunction)),
[INFO] [stdout] 1465 | |     (first_arg: (Argument)),
[INFO] [stdout] 1466 | |     (args: (ArgumentList)),
[INFO] [stdout] 1467 | |     (semi_nl: (SemiNl)),
[INFO] [stdout] 1468 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1462 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1489:1
[INFO] [stdout]      |
[INFO] [stdout] 1489 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1490 | |     BeginHeader,
[INFO] [stdout] 1491 | |     (kw_begin: (KeywordBegin)),
[INFO] [stdout] 1492 | |     (semi_nl: (Option<SemiNl>))
[INFO] [stdout] 1493 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1489 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1518:1
[INFO] [stdout]      |
[INFO] [stdout] 1518 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1519 | |     BlockStatement,
[INFO] [stdout] 1520 | |     (header: (variant<BlockStatementHeaderVariant>)),
[INFO] [stdout] 1521 | |     (jobs: (JobList)),
[INFO] [stdout] 1522 | |     (end: (KeywordEndOrDone)),
[INFO] [stdout] 1523 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1524 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1518 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1549:1
[INFO] [stdout]      |
[INFO] [stdout] 1549 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1550 | |     BraceStatement,
[INFO] [stdout] 1551 | |     (left_brace: (TokenLeftBrace)),
[INFO] [stdout] 1552 | |     (jobs: (JobList)),
[INFO] [stdout] 1553 | |     (right_brace: (TokenRightBrace)),
[INFO] [stdout] 1554 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1555 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1549 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1584:1
[INFO] [stdout]      |
[INFO] [stdout] 1584 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1585 | |     IfClause,
[INFO] [stdout] 1586 | |     (kw_if: (KeywordIf)),
[INFO] [stdout] 1587 | |     (condition: (JobConjunction)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1590 | |     (body: (JobList)),
[INFO] [stdout] 1591 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1584 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1612:1
[INFO] [stdout]      |
[INFO] [stdout] 1612 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1613 | |     ElseifClause,
[INFO] [stdout] 1614 | |     (kw_else: (KeywordElse)),
[INFO] [stdout] 1615 | |     (if_clause: (IfClause)),
[INFO] [stdout] 1616 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1612 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1634:1
[INFO] [stdout]      |
[INFO] [stdout] 1634 | define_list_node!(ElseifClauseList, elseif_clause_list, ElseifClause);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1634 | let _ = define_list_node!(ElseifClauseList, elseif_clause_list, ElseifClause);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1655:1
[INFO] [stdout]      |
[INFO] [stdout] 1655 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1656 | |     ElseClause,
[INFO] [stdout] 1657 | |     (kw_else: (KeywordElse)),
[INFO] [stdout] 1658 | |     (semi_nl: (Option<SemiNl>)),
[INFO] [stdout] 1659 | |     (body: (JobList)),
[INFO] [stdout] 1660 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1655 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1692:1
[INFO] [stdout]      |
[INFO] [stdout] 1692 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1693 | |     IfStatement,
[INFO] [stdout] 1694 | |     (if_clause: (IfClause)),
[INFO] [stdout] 1695 | |     (elseif_clauses: (ElseifClauseList)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1698 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1699 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1692 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1721:1
[INFO] [stdout]      |
[INFO] [stdout] 1721 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1722 | |     CaseItem,
[INFO] [stdout] 1723 | |     (kw_case: (KeywordCase)),
[INFO] [stdout] 1724 | |     (arguments: (ArgumentList)),
[INFO] [stdout] 1725 | |     (semi_nl: (SemiNl)),
[INFO] [stdout] 1726 | |     (body: (JobList)),
[INFO] [stdout] 1727 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1721 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1756:1
[INFO] [stdout]      |
[INFO] [stdout] 1756 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1757 | |     SwitchStatement,
[INFO] [stdout] 1758 | |     (kw_switch: (KeywordSwitch)),
[INFO] [stdout] 1759 | |     (argument: (Argument)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1763 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1764 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1756 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1789:1
[INFO] [stdout]      |
[INFO] [stdout] 1789 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1790 | |     DecoratedStatement,
[INFO] [stdout] 1791 | |     (opt_decoration: (Option<DecoratedStatementDecorator>)),
[INFO] [stdout] 1792 | |     (command: (CommandToken)),
[INFO] [stdout] 1793 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1794 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1789 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1816:1
[INFO] [stdout]      |
[INFO] [stdout] 1816 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1817 | |     NotStatement,
[INFO] [stdout] 1818 | |     (kw: (KeywordNot)),
[INFO] [stdout] 1819 | |     (time: (Option<KeywordTime>)),
[INFO] [stdout] 1820 | |     (negated_statement: (VariableStatement)),
[INFO] [stdout] 1821 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1816 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1841:1
[INFO] [stdout]      |
[INFO] [stdout] 1841 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1842 | |     JobContinuation,
[INFO] [stdout] 1843 | |     (pipe: (TokenPipe)),
[INFO] [stdout] 1844 | |     (newlines: (MaybeNewlines)),
[INFO] [stdout] 1845 | |     (statement2: (VariableStatement)),
[INFO] [stdout] 1846 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1841 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1868:1
[INFO] [stdout]      |
[INFO] [stdout] 1868 | define_list_node!(JobContinuationList, job_continuation_list, JobContinuation);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1868 | let _ = define_list_node!(JobContinuationList, job_continuation_list, JobContinuation);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1894:1
[INFO] [stdout]      |
[INFO] [stdout] 1894 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1895 | |     JobConjunctionContinuation,
[INFO] [stdout] 1896 | |     (conjunction: (TokenConjunction)),
[INFO] [stdout] 1897 | |     (newlines: (MaybeNewlines)),
[INFO] [stdout] 1898 | |     (job: (JobPipeline)),
[INFO] [stdout] 1899 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1894 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1926:1
[INFO] [stdout]      |
[INFO] [stdout] 1926 | implement_acceptor_for_branch!(AndorJob, (job: (JobConjunction)));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1926 | let _ = implement_acceptor_for_branch!(AndorJob, (job: (JobConjunction)));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1953:1
[INFO] [stdout]      |
[INFO] [stdout] 1953 | define_list_node!(AndorJobList, andor_job_list, AndorJob);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1953 | let _ = define_list_node!(AndorJobList, andor_job_list, AndorJob);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1974:1
[INFO] [stdout]      |
[INFO] [stdout] 1974 | implement_acceptor_for_branch!(FreestandingArgumentList, (arguments: (ArgumentList)));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1974 | let _ = implement_acceptor_for_branch!(FreestandingArgumentList, (arguments: (ArgumentList)));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1986:1
[INFO] [stdout]      |
[INFO] [stdout] 1986 | / define_list_node!(
[INFO] [stdout] 1987 | |     JobConjunctionContinuationList,
[INFO] [stdout] 1988 | |     job_conjunction_continuation_list,
[INFO] [stdout] 1989 | |     JobConjunctionContinuation
[INFO] [stdout] 1990 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1986 | let _ = define_list_node!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:2004:1
[INFO] [stdout]      |
[INFO] [stdout] 2004 | define_list_node!(ArgumentList, argument_list, Argument);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2004 | let _ = define_list_node!(ArgumentList, argument_list, Argument);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:2017:1
[INFO] [stdout]      |
[INFO] [stdout] 2017 | define_list_node!(JobList, job_list, JobConjunction);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2017 | let _ = define_list_node!(JobList, job_list, JobConjunction);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:2029:1
[INFO] [stdout]      |
[INFO] [stdout] 2029 | define_list_node!(CaseItemList, case_item_list, CaseItem);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2029 | let _ = define_list_node!(CaseItemList, case_item_list, CaseItem);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:4121:9
[INFO] [stdout]      |
[INFO] [stdout] 4121 |         self.visit_mut(&mut *result);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 4121 |         let _ = self.visit_mut(&mut *result);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/env/environment.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn lock(&self) -> EnvMutexGuard<EnvScopedImpl> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn lock(&self) -> EnvMutexGuard<'_, EnvScopedImpl> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/env/environment.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn lock(&self) -> EnvMutexGuard<EnvStackImpl> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn lock(&self) -> EnvMutexGuard<'_, EnvStackImpl> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/env/environment_impl.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |     pub fn lock(&self) -> EnvMutexGuard<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1142 |     pub fn lock(&self) -> EnvMutexGuard<'_, T> {
[INFO] [stdout]      |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/history.rs:1291:22
[INFO] [stdout]      |
[INFO] [stdout] 1291 |     fn item_at_index(&mut self, mut idx: usize) -> Option<Cow<HistoryItem>> {
[INFO] [stdout]      |                      ^^^^^^^^^                            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1291 |     fn item_at_index(&mut self, mut idx: usize) -> Option<Cow<'_, HistoryItem>> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/history.rs:1513:12
[INFO] [stdout]      |
[INFO] [stdout] 1513 |     fn imp(&self) -> MutexGuard<HistoryImpl> {
[INFO] [stdout]      |            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |            |
[INFO] [stdout]      |            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1513 |     fn imp(&self) -> MutexGuard<'_, HistoryImpl> {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/history/file.rs:267:36
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn maybe_unescape_yaml_fish_2_0(s: &[u8]) -> Cow<[u8]> {
[INFO] [stdout]     |                                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn maybe_unescape_yaml_fish_2_0(s: &[u8]) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/history/file.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn extract_prefix_and_unescape_yaml(line: &[u8]) -> Option<(Cow<[u8]>, Cow<[u8]>)> {
[INFO] [stdout]     |                                           ^^^^^             ^^^^^^^^^  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                           |                 |
[INFO] [stdout]     |                                           |                 the same lifetime is hidden here
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn extract_prefix_and_unescape_yaml(line: &[u8]) -> Option<(Cow<'_, [u8]>, Cow<'_, [u8]>)> {
[INFO] [stdout]     |                                                                 +++            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/input.rs:468:22
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn blocking_wait(&self) -> MutexGuard<Option<BlockingWait>> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn blocking_wait(&self) -> MutexGuard<'_, Option<BlockingWait>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/input_common.rs:1577:22
[INFO] [stdout]      |
[INFO] [stdout] 1577 |     fn blocking_wait(&self) -> MutexGuard<Option<BlockingWait>> {
[INFO] [stdout]      |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1577 |     fn blocking_wait(&self) -> MutexGuard<'_, Option<BlockingWait>> {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/operation_context.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn background_interruptible(env: &dyn Environment) -> OperationContext {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn background_interruptible(env: &dyn Environment) -> OperationContext<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/operation_context.rs:156:28
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn get_bg_context(env: &EnvDyn, generation_count: u32) -> OperationContext {
[INFO] [stdout]     |                            ^^^^^^^                            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn get_bg_context(env: &EnvDyn, generation_count: u32) -> OperationContext<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/proc.rs:937:18
[INFO] [stdout]     |
[INFO] [stdout] 937 |     pub fn flags(&self) -> Ref<JobFlags> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 937 |     pub fn flags(&self) -> Ref<'_, JobFlags> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/proc.rs:942:22
[INFO] [stdout]     |
[INFO] [stdout] 942 |     pub fn mut_flags(&self) -> RefMut<JobFlags> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 942 |     pub fn mut_flags(&self) -> RefMut<'_, JobFlags> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/reader.rs:1013:9
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         data.handle_char_event(Some(ch));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         let _ = data.handle_char_event(Some(ch));
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/reader.rs:1231:33
[INFO] [stdout]      |
[INFO] [stdout] 1231 |     pub(crate) fn blocking_wait(&self) -> MutexGuard<Option<BlockingWait>> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1231 |     pub(crate) fn blocking_wait(&self) -> MutexGuard<'_, Option<BlockingWait>> {
[INFO] [stdout]      |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:153:53
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let signal_handler: usize = fish_signal_handler as usize;
[INFO] [stdout]     |                                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let signal_handler: usize = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 217 |     act.sa_sigaction = fish_signal_handler as usize;
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     act.sa_sigaction = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:222:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |     act.sa_sigaction = fish_signal_handler as usize;
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     act.sa_sigaction = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:275:44
[INFO] [stdout]     |
[INFO] [stdout] 275 |     act.sa_sigaction = fish_signal_handler as usize;
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     act.sa_sigaction = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wchar_ext.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn split(&self, c: char) -> WStrCharSplitIter {
[INFO] [stdout]     |              ^^^^^              ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn split(&self, c: char) -> WStrCharSplitIter<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ast.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn iter(&self) -> std::slice::Iter<Box<Self::ContentsNode>> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn iter(&self) -> std::slice::Iter<'_, Box<Self::ContentsNode>> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1136:1
[INFO] [stdout]      |
[INFO] [stdout] 1136 | implement_acceptor_for_branch!(Redirection, (oper: TokenRedirection), (target: String_));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1136 | let _ = implement_acceptor_for_branch!(Redirection, (oper: TokenRedirection), (target: String_));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1153:1
[INFO] [stdout]      |
[INFO] [stdout] 1153 | / define_list_node!(
[INFO] [stdout] 1154 | |     VariableAssignmentList,
[INFO] [stdout] 1155 | |     variable_assignment_list,
[INFO] [stdout] 1156 | |     VariableAssignment
[INFO] [stdout] 1157 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1153 | let _ = define_list_node!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1176:1
[INFO] [stdout]      |
[INFO] [stdout] 1176 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1177 | |     ArgumentOrRedirection,
[INFO] [stdout] 1178 | |     (contents: (variant<ArgumentOrRedirectionVariant>))
[INFO] [stdout] 1179 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1176 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1197:1
[INFO] [stdout]      |
[INFO] [stdout] 1197 | / define_list_node!(
[INFO] [stdout] 1198 | |     ArgumentOrRedirectionList,
[INFO] [stdout] 1199 | |     argument_or_redirection_list,
[INFO] [stdout] 1200 | |     ArgumentOrRedirection
[INFO] [stdout] 1201 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1197 | let _ = define_list_node!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1219:1
[INFO] [stdout]      |
[INFO] [stdout] 1219 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1220 | |     CommandToken,
[INFO] [stdout] 1221 | |     (contents: (variant<CommandTokenVariant>))
[INFO] [stdout] 1222 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1219 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1254:1
[INFO] [stdout]      |
[INFO] [stdout] 1254 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1255 | |     VariableStatement,
[INFO] [stdout] 1256 | |     (variables: (VariableAssignmentList)),
[INFO] [stdout] 1257 | |     (statement: (Option<Statement>)),
[INFO] [stdout] 1258 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1254 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1277:1
[INFO] [stdout]      |
[INFO] [stdout] 1277 | implement_acceptor_for_branch!(Statement, (contents: (variant<StatementVariant>)));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1277 | let _ = implement_acceptor_for_branch!(Statement, (contents: (variant<StatementVariant>)));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1313:1
[INFO] [stdout]      |
[INFO] [stdout] 1313 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1314 | |     JobPipeline,
[INFO] [stdout] 1315 | |     (time: (Option<KeywordTime>)),
[INFO] [stdout] 1316 | |     (statement2: (VariableStatement)),
[INFO] [stdout] 1317 | |     (continuation: (JobContinuationList)),
[INFO] [stdout] 1318 | |     (bg: (Option<TokenBackground>)),
[INFO] [stdout] 1319 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1313 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1352:1
[INFO] [stdout]      |
[INFO] [stdout] 1352 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1353 | |     JobConjunction,
[INFO] [stdout] 1354 | |     (decorator: (Option<JobConjunctionDecorator>)),
[INFO] [stdout] 1355 | |     (job: (JobPipeline)),
[INFO] [stdout] 1356 | |     (continuations: (JobConjunctionContinuationList)),
[INFO] [stdout] 1357 | |     (semi_nl: (Option<SemiNl>)),
[INFO] [stdout] 1358 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1352 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1403:1
[INFO] [stdout]      |
[INFO] [stdout] 1403 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1404 | |     ForHeader,
[INFO] [stdout] 1405 | |     (kw_for: (KeywordFor)),
[INFO] [stdout] 1406 | |     (var_name: (String_)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1410 | |     (kw_do: (Option<KeywordDo>)),
[INFO] [stdout] 1411 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1403 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1434:1
[INFO] [stdout]      |
[INFO] [stdout] 1434 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1435 | |     WhileHeader,
[INFO] [stdout] 1436 | |     (kw_while: (KeywordWhile)),
[INFO] [stdout] 1437 | |     (condition: (JobConjunction)),
[INFO] [stdout] 1438 | |     (andor_tail: (AndorJobList)),
[INFO] [stdout] 1439 | |     (kw_do: (Option<KeywordDo>)),
[INFO] [stdout] 1440 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1434 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1462:1
[INFO] [stdout]      |
[INFO] [stdout] 1462 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1463 | |     FunctionHeader,
[INFO] [stdout] 1464 | |     (kw_function: (KeywordFunction)),
[INFO] [stdout] 1465 | |     (first_arg: (Argument)),
[INFO] [stdout] 1466 | |     (args: (ArgumentList)),
[INFO] [stdout] 1467 | |     (semi_nl: (SemiNl)),
[INFO] [stdout] 1468 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1462 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1489:1
[INFO] [stdout]      |
[INFO] [stdout] 1489 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1490 | |     BeginHeader,
[INFO] [stdout] 1491 | |     (kw_begin: (KeywordBegin)),
[INFO] [stdout] 1492 | |     (semi_nl: (Option<SemiNl>))
[INFO] [stdout] 1493 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1489 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1518:1
[INFO] [stdout]      |
[INFO] [stdout] 1518 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1519 | |     BlockStatement,
[INFO] [stdout] 1520 | |     (header: (variant<BlockStatementHeaderVariant>)),
[INFO] [stdout] 1521 | |     (jobs: (JobList)),
[INFO] [stdout] 1522 | |     (end: (KeywordEndOrDone)),
[INFO] [stdout] 1523 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1524 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1518 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1549:1
[INFO] [stdout]      |
[INFO] [stdout] 1549 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1550 | |     BraceStatement,
[INFO] [stdout] 1551 | |     (left_brace: (TokenLeftBrace)),
[INFO] [stdout] 1552 | |     (jobs: (JobList)),
[INFO] [stdout] 1553 | |     (right_brace: (TokenRightBrace)),
[INFO] [stdout] 1554 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1555 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1549 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1584:1
[INFO] [stdout]      |
[INFO] [stdout] 1584 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1585 | |     IfClause,
[INFO] [stdout] 1586 | |     (kw_if: (KeywordIf)),
[INFO] [stdout] 1587 | |     (condition: (JobConjunction)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1590 | |     (body: (JobList)),
[INFO] [stdout] 1591 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1584 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1612:1
[INFO] [stdout]      |
[INFO] [stdout] 1612 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1613 | |     ElseifClause,
[INFO] [stdout] 1614 | |     (kw_else: (KeywordElse)),
[INFO] [stdout] 1615 | |     (if_clause: (IfClause)),
[INFO] [stdout] 1616 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1612 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1634:1
[INFO] [stdout]      |
[INFO] [stdout] 1634 | define_list_node!(ElseifClauseList, elseif_clause_list, ElseifClause);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1634 | let _ = define_list_node!(ElseifClauseList, elseif_clause_list, ElseifClause);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1655:1
[INFO] [stdout]      |
[INFO] [stdout] 1655 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1656 | |     ElseClause,
[INFO] [stdout] 1657 | |     (kw_else: (KeywordElse)),
[INFO] [stdout] 1658 | |     (semi_nl: (Option<SemiNl>)),
[INFO] [stdout] 1659 | |     (body: (JobList)),
[INFO] [stdout] 1660 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1655 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1692:1
[INFO] [stdout]      |
[INFO] [stdout] 1692 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1693 | |     IfStatement,
[INFO] [stdout] 1694 | |     (if_clause: (IfClause)),
[INFO] [stdout] 1695 | |     (elseif_clauses: (ElseifClauseList)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1698 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1699 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1692 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1721:1
[INFO] [stdout]      |
[INFO] [stdout] 1721 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1722 | |     CaseItem,
[INFO] [stdout] 1723 | |     (kw_case: (KeywordCase)),
[INFO] [stdout] 1724 | |     (arguments: (ArgumentList)),
[INFO] [stdout] 1725 | |     (semi_nl: (SemiNl)),
[INFO] [stdout] 1726 | |     (body: (JobList)),
[INFO] [stdout] 1727 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1721 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1756:1
[INFO] [stdout]      |
[INFO] [stdout] 1756 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1757 | |     SwitchStatement,
[INFO] [stdout] 1758 | |     (kw_switch: (KeywordSwitch)),
[INFO] [stdout] 1759 | |     (argument: (Argument)),
[INFO] [stdout] ...    |
[INFO] [stdout] 1763 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1764 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1756 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1789:1
[INFO] [stdout]      |
[INFO] [stdout] 1789 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1790 | |     DecoratedStatement,
[INFO] [stdout] 1791 | |     (opt_decoration: (Option<DecoratedStatementDecorator>)),
[INFO] [stdout] 1792 | |     (command: (CommandToken)),
[INFO] [stdout] 1793 | |     (args_or_redirs: (ArgumentOrRedirectionList)),
[INFO] [stdout] 1794 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1789 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1816:1
[INFO] [stdout]      |
[INFO] [stdout] 1816 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1817 | |     NotStatement,
[INFO] [stdout] 1818 | |     (kw: (KeywordNot)),
[INFO] [stdout] 1819 | |     (time: (Option<KeywordTime>)),
[INFO] [stdout] 1820 | |     (negated_statement: (VariableStatement)),
[INFO] [stdout] 1821 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1816 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1841:1
[INFO] [stdout]      |
[INFO] [stdout] 1841 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1842 | |     JobContinuation,
[INFO] [stdout] 1843 | |     (pipe: (TokenPipe)),
[INFO] [stdout] 1844 | |     (newlines: (MaybeNewlines)),
[INFO] [stdout] 1845 | |     (statement2: (VariableStatement)),
[INFO] [stdout] 1846 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1841 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1868:1
[INFO] [stdout]      |
[INFO] [stdout] 1868 | define_list_node!(JobContinuationList, job_continuation_list, JobContinuation);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1868 | let _ = define_list_node!(JobContinuationList, job_continuation_list, JobContinuation);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1894:1
[INFO] [stdout]      |
[INFO] [stdout] 1894 | / implement_acceptor_for_branch!(
[INFO] [stdout] 1895 | |     JobConjunctionContinuation,
[INFO] [stdout] 1896 | |     (conjunction: (TokenConjunction)),
[INFO] [stdout] 1897 | |     (newlines: (MaybeNewlines)),
[INFO] [stdout] 1898 | |     (job: (JobPipeline)),
[INFO] [stdout] 1899 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1894 | let _ = implement_acceptor_for_branch!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1926:1
[INFO] [stdout]      |
[INFO] [stdout] 1926 | implement_acceptor_for_branch!(AndorJob, (job: (JobConjunction)));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1926 | let _ = implement_acceptor_for_branch!(AndorJob, (job: (JobConjunction)));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1953:1
[INFO] [stdout]      |
[INFO] [stdout] 1953 | define_list_node!(AndorJobList, andor_job_list, AndorJob);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1953 | let _ = define_list_node!(AndorJobList, andor_job_list, AndorJob);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1974:1
[INFO] [stdout]      |
[INFO] [stdout] 1974 | implement_acceptor_for_branch!(FreestandingArgumentList, (arguments: (ArgumentList)));
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1974 | let _ = implement_acceptor_for_branch!(FreestandingArgumentList, (arguments: (ArgumentList)));
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:1986:1
[INFO] [stdout]      |
[INFO] [stdout] 1986 | / define_list_node!(
[INFO] [stdout] 1987 | |     JobConjunctionContinuationList,
[INFO] [stdout] 1988 | |     job_conjunction_continuation_list,
[INFO] [stdout] 1989 | |     JobConjunctionContinuation
[INFO] [stdout] 1990 | | );
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1986 | let _ = define_list_node!(
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:2004:1
[INFO] [stdout]      |
[INFO] [stdout] 2004 | define_list_node!(ArgumentList, argument_list, Argument);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2004 | let _ = define_list_node!(ArgumentList, argument_list, Argument);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:2017:1
[INFO] [stdout]      |
[INFO] [stdout] 2017 | define_list_node!(JobList, job_list, JobConjunction);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2017 | let _ = define_list_node!(JobList, job_list, JobConjunction);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:2029:1
[INFO] [stdout]      |
[INFO] [stdout] 2029 | define_list_node!(CaseItemList, case_item_list, CaseItem);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2029 | let _ = define_list_node!(CaseItemList, case_item_list, CaseItem);
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/ast.rs:4121:9
[INFO] [stdout]      |
[INFO] [stdout] 4121 |         self.visit_mut(&mut *result);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 4121 |         let _ = self.visit_mut(&mut *result);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/env/environment.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn lock(&self) -> EnvMutexGuard<EnvScopedImpl> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn lock(&self) -> EnvMutexGuard<'_, EnvScopedImpl> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/env/environment.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn lock(&self) -> EnvMutexGuard<EnvStackImpl> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn lock(&self) -> EnvMutexGuard<'_, EnvStackImpl> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/env/environment_impl.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |     pub fn lock(&self) -> EnvMutexGuard<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1142 |     pub fn lock(&self) -> EnvMutexGuard<'_, T> {
[INFO] [stdout]      |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/history.rs:1291:22
[INFO] [stdout]      |
[INFO] [stdout] 1291 |     fn item_at_index(&mut self, mut idx: usize) -> Option<Cow<HistoryItem>> {
[INFO] [stdout]      |                      ^^^^^^^^^                            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1291 |     fn item_at_index(&mut self, mut idx: usize) -> Option<Cow<'_, HistoryItem>> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/history.rs:1513:12
[INFO] [stdout]      |
[INFO] [stdout] 1513 |     fn imp(&self) -> MutexGuard<HistoryImpl> {
[INFO] [stdout]      |            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |            |
[INFO] [stdout]      |            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1513 |     fn imp(&self) -> MutexGuard<'_, HistoryImpl> {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/history/file.rs:267:36
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn maybe_unescape_yaml_fish_2_0(s: &[u8]) -> Cow<[u8]> {
[INFO] [stdout]     |                                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn maybe_unescape_yaml_fish_2_0(s: &[u8]) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/history/file.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn extract_prefix_and_unescape_yaml(line: &[u8]) -> Option<(Cow<[u8]>, Cow<[u8]>)> {
[INFO] [stdout]     |                                           ^^^^^             ^^^^^^^^^  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                           |                 |
[INFO] [stdout]     |                                           |                 the same lifetime is hidden here
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn extract_prefix_and_unescape_yaml(line: &[u8]) -> Option<(Cow<'_, [u8]>, Cow<'_, [u8]>)> {
[INFO] [stdout]     |                                                                 +++            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/input.rs:468:22
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn blocking_wait(&self) -> MutexGuard<Option<BlockingWait>> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn blocking_wait(&self) -> MutexGuard<'_, Option<BlockingWait>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/input_common.rs:1577:22
[INFO] [stdout]      |
[INFO] [stdout] 1577 |     fn blocking_wait(&self) -> MutexGuard<Option<BlockingWait>> {
[INFO] [stdout]      |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1577 |     fn blocking_wait(&self) -> MutexGuard<'_, Option<BlockingWait>> {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/operation_context.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn background_interruptible(env: &dyn Environment) -> OperationContext {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn background_interruptible(env: &dyn Environment) -> OperationContext<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/operation_context.rs:156:28
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn get_bg_context(env: &EnvDyn, generation_count: u32) -> OperationContext {
[INFO] [stdout]     |                            ^^^^^^^                            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn get_bg_context(env: &EnvDyn, generation_count: u32) -> OperationContext<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/proc.rs:937:18
[INFO] [stdout]     |
[INFO] [stdout] 937 |     pub fn flags(&self) -> Ref<JobFlags> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 937 |     pub fn flags(&self) -> Ref<'_, JobFlags> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/proc.rs:942:22
[INFO] [stdout]     |
[INFO] [stdout] 942 |     pub fn mut_flags(&self) -> RefMut<JobFlags> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 942 |     pub fn mut_flags(&self) -> RefMut<'_, JobFlags> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `ControlFlow` that must be used
[INFO] [stdout]     --> src/reader.rs:1013:9
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         data.handle_char_event(Some(ch));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         let _ = data.handle_char_event(Some(ch));
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/reader.rs:1231:33
[INFO] [stdout]      |
[INFO] [stdout] 1231 |     pub(crate) fn blocking_wait(&self) -> MutexGuard<Option<BlockingWait>> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1231 |     pub(crate) fn blocking_wait(&self) -> MutexGuard<'_, Option<BlockingWait>> {
[INFO] [stdout]      |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:153:53
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let signal_handler: usize = fish_signal_handler as usize;
[INFO] [stdout]     |                                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let signal_handler: usize = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 217 |     act.sa_sigaction = fish_signal_handler as usize;
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     act.sa_sigaction = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:222:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |     act.sa_sigaction = fish_signal_handler as usize;
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     act.sa_sigaction = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/signal.rs:275:44
[INFO] [stdout]     |
[INFO] [stdout] 275 |     act.sa_sigaction = fish_signal_handler as usize;
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     act.sa_sigaction = fish_signal_handler as *const () as usize;
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wchar_ext.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn split(&self, c: char) -> WStrCharSplitIter {
[INFO] [stdout]     |              ^^^^^              ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn split(&self, c: char) -> WStrCharSplitIter<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.08s
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888", kill_on_drop: false }`
[INFO] [stdout] 71544a3136d0733e8bcb363b9ebb7af496d20e367910a02df2927ffe215c7888
